package com.dragon.modules.yuegou.model.park;

import com.dragon.modules.yuegou.entity.park.StatisticsEntity;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 停车统计信息表模型类
 *
 * @author pbuilder generated
 * @date 2020-03-20 15:40:25
 * @company sgy
 * @version 2.0
 * @see Length 长度限制
 * @see NotNull 对象非空
 * @see NotEmpty 字符串、集合、表、数组非空
 */
public class Statistics extends StatisticsEntity {

	@ApiModelProperty("统计开始时间")
	private LocalDateTime beginTime;

	@ApiModelProperty("统计结束时间")
	private LocalDateTime endTime;

	public LocalDateTime getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(LocalDateTime beginTime) {
		this.beginTime = beginTime;
	}

	public LocalDateTime getEndTime() {
		return endTime;
	}

	public void setEndTime(LocalDateTime endTime) {
		this.endTime = endTime;
	}

	/**
	 * 构造一个空停车统计信息表模型对象
	 */
	public Statistics(){
		super();
	}

	/**
	 * 依据实体对象的信息构造一个停车统计信息表模型对象
	 *
	 * @param entity 实体对象
	 */
	public Statistics(StatisticsEntity entity){
		super(entity);
	}

	/**
	 * 依据其它对象的信息构造一个停车统计信息表模型对象
	 *
	 * @param other 其它对象
	 */
	public Statistics(Statistics other){
		super(other);
	}


	@Override
	public String getThirdId() {
		return thirdId;
	}

	/**
	 * 设置第三方ID
	 *
	 * @param thirdId 第三方ID
	 * @return 当前对象
	 */
	public Statistics thirdId(String thirdId) {
		this.thirdId = thirdId;
		return this;
	}

	@Override
	public String getBusdId() {
		return busdId;
	}

	/**
	 * 设置商圈ID
	 *
	 * @param busdId 商圈ID
	 * @return 当前对象
	 */
	public Statistics busdId(String busdId) {
		this.busdId = busdId;
		return this;
	}

	@Override
	public String getMemberId() {
		return memberId;
	}

	/**
	 * 设置会员ID
	 *
	 * @param memberId 会员ID
	 * @return 当前对象
	 */
	public Statistics memberId(String memberId) {
		this.memberId = memberId;
		return this;
	}

	@Override
	public String getMerchantId() {
		return merchantId;
	}

	/**
	 * 设置商户id
	 *
	 * @param merchantId 商户id
	 * @return 当前对象
	 */
	public Statistics merchantId(String merchantId) {
		this.merchantId = merchantId;
		return this;
	}

	@Override
	public String getPlateNumber() {
		return plateNumber;
	}

	/**
	 * 设置车牌号
	 *
	 * @param plateNumber 车牌号
	 * @return 当前对象
	 */
	public Statistics plateNumber(String plateNumber) {
		this.plateNumber = plateNumber;
		return this;
	}

	@Override
	public String getParkingName() {
		return parkingName;
	}

	/**
	 * 设置停车场名称
	 *
	 * @param parkingName 停车场名称
	 * @return 当前对象
	 */
	public Statistics parkingName(String parkingName) {
		this.parkingName = parkingName;
		return this;
	}

	@Override
	public String getParkingId() {
		return parkingId;
	}

	/**
	 * 设置停车场ID
	 *
	 * @param parkingId 停车场ID
	 * @return 当前对象
	 */
	public Statistics parkingId(String parkingId) {
		this.parkingId = parkingId;
		return this;
	}

	@Override
	public LocalDateTime getEntranceTime() {
		return entranceTime;
	}

	/**
	 * 设置入场时间
	 *
	 * @param entranceTime 入场时间
	 * @return 当前对象
	 */
	public Statistics entranceTime(LocalDateTime entranceTime) {
		this.entranceTime = entranceTime;
		return this;
	}

	@Override
	public LocalDateTime getExitTime() {
		return exitTime;
	}

	/**
	 * 设置出场时间
	 *
	 * @param exitTime 出场时间
	 * @return 当前对象
	 */
	public Statistics exitTime(LocalDateTime exitTime) {
		this.exitTime = exitTime;
		return this;
	}

	@Override
	public Long getStayedTime() {
		return stayedTime;
	}

	/**
	 * 设置停留时间(以秒为单位计算)
	 *
	 * @param stayedTime 停留时间(以秒为单位计算)
	 * @return 当前对象
	 */
	public Statistics stayedTime(Long stayedTime) {
		this.stayedTime = stayedTime;
		return this;
	}

	@Override
	public BigDecimal getParkingFee() {
		return parkingFee;
	}

	/**
	 * 设置总停车费
	 *
	 * @param parkingFee 总停车费
	 * @return 当前对象
	 */
	public Statistics parkingFee(BigDecimal parkingFee) {
		this.parkingFee = parkingFee;
		return this;
	}

	@Override
	public BigDecimal getPaidFee() {
		return paidFee;
	}

	/**
	 * 设置已缴停车费
	 *
	 * @param paidFee 已缴停车费
	 * @return 当前对象
	 */
	public Statistics paidFee(BigDecimal paidFee) {
		this.paidFee = paidFee;
		return this;
	}

	@Override
	public Boolean getToll() {
		return toll;
	}

	/**
	 * 设置是否收费：0-不收费；1-收费
	 *
	 * @param toll 是否收费：0-不收费；1-收费
	 * @return 当前对象
	 */
	public Statistics toll(Boolean toll) {
		this.toll = toll;
		return this;
	}

	@Override
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}

	/**
	 * 设置创建时间
	 *
	 * @param createdTime 创建时间
	 * @return 当前对象
	 */
	public Statistics createdTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
		return this;
	}
}
